import { defineStore } from 'pinia'

//自定义选项卡类
export type Tab = {
    title: string,
    path: string
}

//自定义数组的数据类型
export type TabState = {
    tabList: Tab[]
}

// 定义一个选项卡Store
export const TabStore = defineStore('TabStore', {
    state: () :TabState => { //定义容器
        return {
            tabList: []
        }
     },
    getters: { //获取数据
      getTab(state){
        return state.tabList
      }
    },
    actions: { //赋值或操作容器
      addTab(tab:Tab){
        
        //判断当前tabList中是否存在选项卡里
        if (this.tabList.some(item =>item.path === tab.path)) {
            return
        }
        this.tabList.push(tab)
      }
    },
  })